<?php
/**
 * Created by PhpStorm.
 * Title：
 * User: zhanglangeba
 * Date: 2022/7/16
 * Time: 4:05 上午
 */

namespace app\job;

//use app\api\model\Order as OrderModel;
use think\queue\Job;

class CloseOrder
{

    public function fire(Job $job, $data)
    {
        //....这里执行具体的任务
        // $paying_order = OrderModel::where('order_sn', $data)
        //     ->where('order_status', 0)
        //     ->update([
        //         'order_status' => 6,
        //         'pay_status'   => 3,
        //     ]);
        // if ($paying_order){
        //     dingMarkdown('关单通知,订单已取消',$data);
        // }
        // if ($job->attempts() > 3) {
        //通过这个方法可以检查这个任务已经重试了几次了
        // }


        //如果任务执行成功后 记得删除任务，不然这个任务会重复执行，直到达到最大重试次数后失败后，执行failed方法
        $job->delete();

        // 也可以重新发布这个任务
        // $job->release(2); //$delay为延迟时间

    }

    public function failed($data)
    {
        // ...任务达到最大重试次数后，失败了
    }

}
